import { TagVO } from "../tag/types";
import {PageQuery} from "@/model";

/**
 * 记录贡献统计
 */
export interface RecordStatisticsVO {
  /**
   * 日期
   */
  date: Date;
  /**
   * 数量
   */
  count: number;
}

/**
 * 记录浏览量排行
 */
export interface RecordRankVO {
  /**
   * 记录标题
   */
  recordTitle: string;
  /**
   * 浏览量
   */
  viewCount: number;
}

/**
 * 题目贡献统计
 */
export interface QuizStatisticsVO {
  /**
   * 日期
   */
  date: Date;
  /**
   * 数量
   */
  count: number;
}

/**
 * 题目浏览量排行
 */
export interface QuizRankVO {
  /**
   * 题目标题
   */
  quizTitle: string;
  /**
   * 浏览量
   */
  viewCount: number;
}

/**
 * 用户浏览量
 */
export interface UserViewVO {
  /**
   * 日期
   */
  date: string;
  /**
   * uv
   */
  uv: number;
  /**
   * pv
   */
  pv: number;
}

/**
 * 网站后台信息
 */
export interface WebsiteInfo {
  /**
   * 访问量
   */
  viewCount: number;
  /**
   * 用户量
   */
  userCount: number;
  /**
   * 记录量
   */
  recordCount: number;
  /**
   * 题目量
   */
  quizCount: number;
  /**
   * 标签
   */
  tagVOList: TagVO[];
  /**
   * 记录贡献统计
   */
  recordStatisticsList: RecordStatisticsVO[];
  /**
   * 记录浏览量排行
   */
  recordRankVOList: RecordRankVO[];
  /**
   * 题目贡献统计
   */
  quizStatisticsList: QuizStatisticsVO[];
  /**
   * 题目浏览量排行
   */
  quizRankVOList: QuizRankVO[];
  /**
   * 用户浏览量
   */
  userViewVOList: UserViewVO[];
}

/**
 * 在线人员查询参数
 */
export interface OnlineQuery extends PageQuery {
  /**
   * 关键词
   */
  keyword?: string;
}

/**
 * 在线人员
 */
export interface Online {
  /**
   * 人员id
   */
  id: number;
  /**
   * 在线token
   */
  token: string;
  /**
   * 人员头像
   */
  avatar: string;
  /**
   * 人员昵称
   */
  nickname: string;
  /**
   * ip地址
   */
  ipAddress: string;
  /**
   * ip来源
   */
  ipSource: string;
  /**
   * 操作系统
   */
  os: string;
  /**
   * 浏览器
   */
  browser: string;
  /**
   * 登录时间
   */
  loginTime: string;
}

